// 1792. [排序中位数]服务器集群网络延迟
// https://oj.rnd.huawei.com/problems/1792/details 中位数,中间两个均可
// 给定一个正整数数组表示某服务器集群内服务器的机位编号，
// 请选择一台服务器作为主服务器，使得集群网络延迟最小，并返回该最小值。
// 每台服务器有唯一的机位编号。
// 两服务器之间的网络延迟，可以简单用所在机位编号之差的绝对值表示；服务器到自身的延迟为0。
// 集群网络延迟是指主服务器与所有服务器的网络延迟之和。
// 输入第一行整数 n，代表数组元素的个数，取值范围：[1, 500]。
// 第二行是n个数值，表示上述数组的元素（单个空格间隔），取值范围: [1, 10000]。
// 输出一个整数，表示集群网络延迟的最小值。
// 3
// 2 6 4
// 输出 4
// 4
// 2 4 3 1
// 输出 4
#include <algorithm>
#include <iostream>
#include <set>
#include <string>
#include <vector>
using namespace std;

int ClusterLatency(const vector<int>& arr) {
  vector<int> sortedArr(arr);
  std::sort(sortedArr.begin(), sortedArr.end());
  int mid = sortedArr.size() / 2;
  int sum = 0;
  for (int i = 0; i < sortedArr.size(); i++) {
    sum += abs(sortedArr[i] - sortedArr[mid]);
  }
  return sum;
}

// 以下为考题输入输出框架，此部分代码不建议改动
int main() {
  string line;
  getline(cin, line);
  int n = stoi(line);
  vector<int> arr(n);
  for (int i = 0; i < n; ++i) {
    cin >> arr[i];
  }
  cout << ClusterLatency(arr) << endl;
  return 0;
}
